<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');

require_once APPPATH . 'controllers/admin.php';

/**
 * Контроллер создания и изменения заголовка
 *
 * @package CoreFramework
 * @version 1.0
 * @author Obidnov Alexander
 */
class Admin_Update_Title extends Admin {
   
   /**
    * Идентификатор заголовка
    *
    * @access private
    * @var integer
    */
   var $_id_title = 0;
   
   /**
    * Конструктор класса
    *
    * @access public
    * @return Admin_Update_Title
    */
   function Admin_Update_Title() {
      parent::Admin();
      $this->set_menu(4, 8);
      // Выковыриваем идентификатор
      if (false !== $this->input->get('id')) {
         $this->_id_title = (int) $this->input->get('id');
      }
      // Подгружаем модельку
      $this->load->model('m_title');
      $this->m_title->set_id($this->_id_title);
      $this->load->language('title');
   } // end Admin_Update_Title
   
   /**
    * Метод по умолчанию
    *
    * @access public
    */
   function index() {
      $data = array();
      // Стандартные поля
      $title = $this->m_title->get('title');
      $description = $this->m_title->get('description');
      $keywords = $this->m_title->get('keywords');
      $information = $this->m_title->get('information');

      // Валидируем и, если нужно, изменяем
      if (false !== $this->input->post('edit')) {
         $this->load->library('validation');
         $rules = array(
            'title' => 'trim|max_length[1000]',
            'description'  => 'trim|max_length[1000]',
            'keywords' => 'trim|max_length[1000]'
         );
         $titles= array(
            'title' => $this->lang->line('title_title'),
            'description'  => $this->lang->line('description_title'),
            'keywords' => $this->lang->line('keywords_title')
         );
         $this->validation->set_rules($rules);
         $this->validation->set_fields($titles);
         $result = $this->validation->run();
         // Получаем из поста поля
         $title = $this->validation->title;
         $description = $this->validation->description;
         $keywords = $this->validation->keywords;
         if ($result) {
            // Если проверки пройдены успешно, изменяем стиль
            $this->m_title->set('title', $title);
            $this->m_title->set('description', $description);
            $this->m_title->set('keywords', $keywords);
            // Сохраняем в базу
            if ($this->m_title->update()) {
               if (0 == $this->_id_title) {
                  $this->set_message($this->lang->line('add_title_succ'), 'info', true);
               } else {
                  $this->set_message($this->lang->line('edit_title_succ'), 'info', true);
               }
               $this->redirect('admin_manage_titles');
            }
            // Если сюда пришли, значит не все в порядке...
            if (0 == $this->_id_title) {
               $this->set_message($this->lang->line('add_title_error'), 'error');
            } else {
               $this->set_message($this->lang->line('edit_title_error'), 'error');
            }
         }
      }
      // Забиваем в дату поля
      $data['id'] = $this->_id_title;
      $data['title'] = htmlspecialchars($title);
      $data['description'] = htmlspecialchars($description);
      $data['keywords'] = htmlspecialchars($keywords);
      $data['information'] = $information;
      // Выводим
      $view = 'admin/edit_title.html';
      /*
      if (0 == $this->_id_comment) {
         $view = 'admin/add_title.html';
      }
       */
      $this->set_content($this->parser->parse($view, $data, true));
      $this->display();
   } // end index
   
}
